import 'package:flutter/material.dart';

class HouseItem extends StatefulWidget {
  HouseItem({super.key, required this.houseInfo});

  Map houseInfo;

  @override
  State<HouseItem> createState() => _HouseItemState();
}

class _HouseItemState extends State<HouseItem> {
  Map houseInfo = {};
  @override
  void initState() {
    super.initState();
    houseInfo = widget.houseInfo;
  }

  Widget tagBuilder(int status) {
    List tagList = [
      {},
      {
        "bgcolor": const Color.fromARGB(50, 91, 177, 227),
        "textcolor": Color.fromARGB(255, 85, 145, 175),
        "title": "审核中"
      },
      {
        "bgcolor": const Color.fromARGB(50, 0, 255, 0),
        "textcolor": const Color.fromARGB(255, 0, 255, 0),
        "title": "审核成功"
      },
      {
        "bgcolor": const Color.fromARGB(50, 255, 0, 0),
        "textcolor": const Color.fromARGB(255, 255, 0, 0),
        "title": "审核失败"
      },
    ];

    return Container(
        padding: const EdgeInsets.only(left: 5, right: 5, top: 2, bottom: 2),
        decoration: BoxDecoration(
            color: tagList[status]['bgcolor'],
            borderRadius: BorderRadius.circular(5)),
        child: Text('${tagList[status]['title']}',
            style: TextStyle(color: tagList[status]['textcolor'])));
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
        onTap: () {
          Navigator.pushNamed(context, '/house_detail', arguments: {
            'id': houseInfo['id'],
          });
        },
        child: Container(
            padding: const EdgeInsets.all(10),
            decoration: const BoxDecoration(
              color: Colors.white,
            ),
            child: Column(
              children: [
                Row(
                  children: [
                    Expanded(child: Text('${houseInfo['point']}')),
                    const Spacer(),
                    tagBuilder(houseInfo['status']),
                  ],
                ),
                const SizedBox(height: 15),
                Row(
                  children: [
                    Text(
                      '房间号',
                      style: TextStyle(color: Colors.grey),
                    ),
                    Spacer(),
                    Expanded(
                        child: Text(
                      '${houseInfo['building']}${houseInfo['room']}室',
                      textAlign: TextAlign.right,
                    )),
                  ],
                ),
                const SizedBox(height: 15),
                Row(
                  children: [
                    Text(
                      '业主',
                      style: TextStyle(color: Colors.grey),
                    ),
                    Spacer(),
                    Expanded(
                        child: Text(
                      '${houseInfo['name']}',
                      textAlign: TextAlign.right,
                    )),
                  ],
                ),
              ],
            )));
  }
}
